
#include <stdio.h>
#include <stdlib.h>


#include "estruturas.h"
#include "interface.h"

/*int main ()
{
  char escolha;
  int op,op1;
  do
    {

      op = menu();
      fflush (stdin);
      switch (op)
	{
	case '1' : printf("OPCAO 1\n");
							   do
							   {
								   op1=menu1();
							   			switch (op1){
											case '1' : printf("interface_login_nick()\n");
													   menu1();
													   break;
											case '2' : printf("interface_login_mail()\n");
													   menu1();
													   break;

										default : printf("Insira uma opção válida!\n");break;
										}
									}
									while (op

	case '2' : printf("OPCAO 2\n");
			   break;
	case '3' : menu_sair();
			   break;

	}

    }
  while (op == 1 || op == 2 || op == 3);


return 0;
}
*/

int main(){
	char opcao,opcao1;

	menu();
	fflush(stdin);
	opcao= getchar();
		if(opcao !='6'){
			switch (opcao){
					case '1' : printf("OPCAO 1\n");
							   menu1();
							   getchar();
							   fflush(stdin);
							   opcao1= getchar();

							   if (opcao1!= '3'){
									switch (opcao1){
											case '1' : printf("interface_login_nick OK!()\n");adminPerfil();
											case '2' : printf("interface_login_mail()\n");adminPerfil();break;
											case '3' : menu();break;

										default : printf("Insira uma opção válida!\n");break;
										}
									}
									else menu();
								break;
					case '2' : printf("OPCAO 2\n");

							   break;
					case '3' : funcoesCalculo();break;

					case '4' : break;
					case '5' : break;

					}

				}
		else menu_sair();

	return 0;

}

    int header(){
	printf("                  FOURSQUARE@UM                  \n");
	printf("*************************************************\n");
	printf("\n");

		return 0;
    }


    int footbar(){
	printf("\n");
	printf("*************************************************\n");
		return 0;
    }

	int menu(){
	interface_limpa();
	header();
	printf("[1] Login \n");
	printf("[2] Registar \n");
	printf("[3] Funções Cálculo \n");
	printf("[4] Salvar Dados Base de dados \n");
	printf("[5] Importar Dados Base de dados \n");
	printf("[6] Sair \n");
	footbar();

		return 0;
	}

	int menu1(){
	interface_limpa();
	header();
	printf(" *         Login         *\n\n");
	printf("[1] Login por nickname \n");
	printf("[2] Login por e-mail \n");
	printf("[3] Voltar \n");
	footbar();

		return 0;
	}
	int menu2(){

	interface_limpa();
	header();
	printf(" *        Registar        *\n\n");
	printf("[1] Login por nickname \n");
	printf("[2] Login por e-mail \n");
	printf("[3] Voltar \n");
	footbar();

		return 0;
	}

	int menu_sair(){
	interface_limpa();
	header();
	printf("Obrigado por utilizar FOURSQUARE@UM\n");
	footbar();

		return 0;
	}

	int interface_limpa(){

    printf("\x1B[2J");
    fflush(stdout);
	return 0;
	}

	int adminPerfil(){
	char op;

	interface_limpa();
	header();
	printf(" *    Administração Perfil   *\n\n");    /* NO SEGUNDO PRINTF SUBSTITUIR PELA FUNCAO EM QUESTAO PRA DAR O VALOR AO 1º PRINTF*/
	printf("[1] Nome : \n");printf("CALCULAR O NOME GAJO");
	printf("[2] Nickname : \n");printf("CALCULAR O NICKNAME GAJO");
	printf("[3] E-mail : \n");printf("CALCULAR O MAIL GAJO");
	printf("[4] Morada : \n");printf("CALCULAR MORADA GAJO");
	printf("[5] Amigos : \n");printf("CALCULAR AMIGOS GAJO");
	printf("[6] Locais Vizitados : \n");printf("CALCULAR LOCAL GAJO");
	printf("[7] Pontos totais : \n");printf("CALCULAR PONTOS GAJO");
	printf("[7] Pedidos Amizade Pendentes : \n");printf("CALCULAR PONTOS GAJO");
	printf("[8] Voltar : \n");printf("CALCULAR PONTOS GAJO");
	footbar();

	fflush(stdin);
	getchar();
	op=getchar();
		if(op !='8'){
			switch (op){
					case '1' : printf("OLA");break;
					case '2' :
					case '3' :
					case '4' :
					case '5' :
					case '6' :
					case '7' :
					case '8' :
				default : printf("Insira uma opção válida!\n");break;
					}
				}
		else menu();
	return 0;
}


	int funcoesCalculo(){
	char op;
	interface_limpa();
	header();
	printf(" *    Funções de Cálculo   *\n\n");		/* NO SEGUNDO PRINTF SUBSTITUIR PELA FUNCAO EM QUESTAO PRA DAR O VALOR AO 1º PRINTF*/
	printf("[1] Distancia Entre 2 utilizadores : \n");printf("CALCULAR O NOME GAJO");
	printf("[2] Amigo mais próxima : \n");printf("CALCULAR O NICKNAME GAJO");
	printf("[3] Pesquisa Utilizador (NOME/NICKNAME) : \n");printf("CALCULAR O MAIL GAJO");
	printf("[4] Amigos nas proximidades numa distância < d : \n");printf("CALCULAR MORADA GAJO");
	printf("[5] Afastamento máximo : \n");printf("CALCULAR AMIGOS GAJO");
	printf("[6] Mayor do Local Actual : \n");printf("CALCULAR AMIGOS GAJO");
	printf("[7] Voltar : \n");printf("CALCULAR AMIGOS GAJO");
	footbar();

	fflush(stdin);
	getchar();
	op=getchar();
		if(op !='7'){
			switch (op){
					case '1' : printf("OLA");break;
					case '2' :
					case '3' :
					case '4' :
					case '5' :
					case '6' :

				default : printf("Insira uma opção válida!\n");break;
					}
				}
		else menu();

	return 0;
}

int salvarDados(){

	  /*O programa deve permitir que em qualquer momento se possa guardar em
ficheiro a informação existente em memória sobre os utilizadores, ligações
entre eles e mensagens trocadas, lugares visitados, etc. A gravação deve ser
feita da forma mais optimizada possível e deve permitir que o estado que foi
gravado seja recuperado novamente. */

printf("FALTA ISTO\n");

	return 0;
}
